炙手可热的K8s,有哪些心法秘籍?
The following article is from 道客船长 Author 道客船长
中国 KubeCon + CloudNativeCon + Open Source Summit 虚拟大会
12 月 9 日至 10 日
https://www.lfasiallc.com/kubecon-cloudnativecon-open-source-summit-china/
前言:
Google 在 2014 年开源了 Kubernetes 项目,诞生 7 年来,Kubernetes 一路高歌,成为容器编排和调度领域的 No.1。
如今 Kubernetes 已成为事实上的容器编排标准,是运维、开发人员使用最流行的微服务、DevOps、CI/CD 云原生底座。
作为时下最炙手可热的开源技术之一,K8s 起源于何处?有什么神秘技能?未来如何发展?下面一一揭秘。
01.
“当红炸子鸡”的
身世由来
Kubernetes 一词来源于希腊语,意思是“舵手”或“领航员”,许多从业者经常将 Kubernetes 称为 k8s,这是因为 Kubernetes 这个单词太长,发音绕口又不容易记,而首字母 k 和尾字母 s 之间有 8 个字母,所以也就简写成了 K8s。
Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。
Kubernetes 拥有一个庞大且快速增长的生态系统,是一种可自动实施 Linux 容器操作的开源平台,它可以帮助用户省去应用容器化过程的许多手动部署和扩展操作。
也就是说, Linux 容器的多组主机,聚集在一起运行时, Kubernetes 可以轻松高效地管理这些集群。而且,这些集群可跨公共云、私有云或混合云部署主机。
因此,对于要求快速扩展的云原生应用而言(例如借助 Apache Kafka 进行的实时数据流处理),Kubernetes 是理想的托管平台。
Kubernetes 最初是由 Google 开发的,后来捐赠给了CNCF(云原生计算基金会,隶属 Linux 基金会)。Kubernetes 是大规模集群管理系统 Borg 的开源版本,Google 每周会启用超过 20 亿个容器——全都由内部平台 Borg 支撑,多年来开发 Borg 的经验教训成了影响 Kubernetes 中许多技术的主要因素。
经过 Google 内部十多年的实践生产检验,一经推出就在整个社区推进“民主化”架构,即从 API 到容器运行时的每一层,Kubernetes 项目都为开发者暴露出了可扩展的插件机制,鼓励全球开发者和用户通过代码的方式介入 Kubernetes 项目的每一个阶段。
在这种鼓励创新的整体氛围中,Kubernetes 社区在 2016 年之后得到了空前发展。不再局限于单个应用的打包、发布,这次容器社区的繁荣,是一次完全以 Kubernetes 各层级项目为核心的“百家争鸣”。
CNCF 发布的以 Kubernetes 为中心建立的云原生生态体系全景图
迄今为止,CNCF 全景图中的技术卡片数量已达到 978 张,数以千计的新兴技术在开源社区蓬勃发展,市场总估值超 16 万亿美元。
(注:扫描上图二维码可查看具体数据)
这一天文数字般的市值是时下正在发生的既成事实:开源即是未来,而未来已来。
是什么样的技术造就了如此规模的生态?下面为大家揭开 K8s 的神秘面纱。
02.
Kubernetes 有哪些
神秘大招?
专业人士请看下图:
互联网时代的应用程序是在服务器上运行的,随着科学技术的进步,服务器经历了传统部署时代 ➡️虚拟化部署时代 ➡️容器部署时代,经历这三个时代的进化,服务器的运行越来越轻量级,速度也越来越快。
这得益于容器具有:简便高效、松散耦合、可移植性、可观察性等许多优势。正因如此,容器在云原生领域流行起来,大部分云原生架构,都是以容器为算力单元的。
容器是打包和运行应用程序的好方式。但是,在生产环境中,需要管理运行应用程序的容器,并确保不会停机。例如,如果一个容器发生故障,则需要启动另一个容器。如果有一个系统处理此行为,会不会更容易?
这就是 Kubernetes 的价值所在!
Kubernetes 提供的是,一个可弹性运行分布式系统的框架,通过系统的方式来帮助企业管理众多容器。Kubernetes 可以满足生产环境的扩展要求、故障转移、部署模式等。例如,Kubernetes 可以轻松管理系统的 Canary 部署。
形象的来说,Kubernetes 就像是众多容器的大管家,是容器的引擎,主要负责两件事:
第一,负责容器的整个生命周期管理,从生到死。第二、负责本地容器镜像的构建和管理。同时配合镜像仓库,完成海量镜像的存储和管理。
03.
Kubernetes 是如何
放大招的?
K8s 的编排体系如同一个大型企业的组织架构,集群是各个职能部门,一个集群主要由 Master、Node 两部分组成。
其中 Master 是部门管理层,Node 就是干活儿的打工仔,而这些 Node 上处理的 Pod 就是一个个细小的碎片化任务。
优秀的管理层 Master 不但能把自己所在集群管理得井井有条,对于跨集群的项目任务,处理起来也游刃有余,这就是跨集群管理。
作为管理层的 Master 由各个领域的精英组成,首先是四大管理进程:
etcd:负责存储集群中各种有用的资源对象信息,持久化存储集群中所有的资源对象。
API Server:提供了资源对象的唯一操作入口,其他所有组件都必须通过它提供的 API 来操作资源数据,通过对相关的资源数据“全量查询”+“变化监听”,这些组件可以很“实时”地完成相关的业务功能。
Scheduler:集群中的调度器,负责 Pod 在集群节点中的调度分配 。
Controller Manager:集群内部的管理控制中心,负责维护集群的良好工作状态,比如部署安排、故障检测、自动扩展、滚动更新等 。
一个集群除了上述四大进程组成的管理层之外,还需要切实干活儿的底层员工,这就是 Node 上运行的进程。它们为了生存糊口,各司其职,兢兢业业地尽忠职守:
Kubelet:负责维护本节点上 Pod 任务的生命周期,通过控制 Docker 引擎来创建、启动、停止和删除,同时定时上报节点状态信息到 API Server。
Kube Proxy:负责提供集群内部的服务发现和负载均衡,免得 Node 累垮了。
Docker:容器引擎,打包和发布容器。
Kubectl:负责提供管理命令行的工具集。
Kubernetes 的本质是一组服务器集群管理体系,它可以在集群的每个节点上运行特定的进程,来对节点中的容器进行管理。
目的是实现资源管理的自动化,主要提供了如下的主要功能:
自我修复:一旦某个容器崩溃,能够在 1 秒左右迅速启动新的容器。
弹性伸缩:按需自动对集群中正在运行的容器数量进行调整服务发现,即通过自动发现的形式找到当前 Service 所依赖的新生服务。
负载均衡:如果 Service 启动了多个容器,能够自动实现请求的负载均衡 。
版本回退:若发现新发布的程序版本有问题,可以立即回退到原来的版本。
存储编排:可以根据容器自身的需求自动创建存储卷。
更多详细信息,可参见 Kubernetes 文档
https://kubernetes.io/zh/docs/home/
04.
「DaoCloud 道客」
与 K8s 不得不说的缘分
「DaoCloud 道客」早在 2014 年就敏锐地发现容器、Docker 和 Kubernetes 的巨大发展潜力。
在 K8s 第一个非正式版发布之际,陈齐彦(DaoCloud 联合创始人)与颜开(DaoCloud 联合创始人),就多次热烈探讨容器技术的未来前景,双方一拍即合,致力于云原生技术创新的 「DaoCloud 道客」就此诞生。
自诞生以来,「DaoCloud 道客」一直活跃于Kubernetes 社区,一直秉持源于开源、回馈开源、奉献开源的企业宗旨,逐步扩大在开源社区的影响力,并具备将开源技术转化为企业服务的能力,更好地服务于不同行业的客户。
据 Stackalytics 数据统计,截止到目前为止,「DaoCloud 道客」在 Kubernetes 开源项目上累计贡献度全球前十,亚洲前三,是唯一一家进入前十的独立企业级云原生产品暨解决方案供应商。
05.
未来呼啸而来
据 Gartner 发布的技术趋势报告显示,随着容器技术的不断成熟和深入落地,到 2022 年会有 75% 的全球化企业将在生产中使用容器化应用。
所谓的容器化应用是将业务应用于类似 Kubernetes 的基础设施之上,Kubernetes 起到一个承上启下的作用,对上提供基础设施能力,对下提供应用服务的格式化的数据对象,让Kubernetes 作为一个能力中介层,以一个标准化的方式把基础设施能力接入到云原生环境中。
另外,云原生应用架构将在 2-5 年内达到实质性生产高峰期,也就是企业所有的 IT 基础设施都可以用云原生阐释和构建,并且在这一轮数字化转型中,企业必然走向云原生[1]。
「DaoCloud 道客」作为云原生领域的创新领导者,一直紧随技术发展的脚步,拥有前沿的核心技术和研发能力,致力于打造开放的云原生操作系统,产品线覆盖云原生应用的开发、交付、运维和运营全生命周期,并提供公有云、私有云和混合云等多种交付方式,为企业提供优质的云原生技术服务。
云原生的未来已呼啸而来,「DaoCloud 道客」愿做乘风破浪的时代弄潮儿,直挂云帆济沧海!
[1]《Kubernetes 联合创始人 Brendan Burns:开放、革新的 K8s 为客户创造更多价值》:http://www.techweb.com.cn/ucweb/news/id/2814159
DaoCloud 公司简介
上海道客网络科技有限公司,成立于 2014 年底,公司拥有自主知识产权的核心技术,以云计算、人工智能为底座构建数字化操作系统为实体经济赋能,推动传统企业完成数字化转型。成立迄今,公司已在金融科技、先进制造、智能汽车、零售网点、城市大脑等多个领域深耕,标杆客户包括交通银行、浦发银行、上汽集团、东风汽车、海尔集团、金拱门(麦当劳)等。被誉为科技领域准独角兽企业。公司在北京、武汉、深圳、成都设立多家分公司及合资公司,总员工人数超过 300 人,是上海市高新技术企业、上海市“专精特新”企业和上海市“科技小巨人”企业,并入选了科创板培育企业名单。
网址:www.daocloud.io
邮件:info@daocloud.io
电话:400 002 6898
文章转载自道客船长。点击这里阅读原文了解更多。
CNCF概况(幻灯片)
扫描二维码联系我们!
CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux Foundation,是非营利性组织。
CNCF(云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。请长按以下二维码进行关注。